home *** CD-ROM | disk | FTP | other *** search
/ Amoszine 4 / Amoszine 4 (Disk 2 of 3).adf / 3D_MENUS / 3d_menus_source.lha / 3D_HEX_Buttons.amos / 3D_HEX_Buttons.amosSourceCode
Encoding:
AMOS Source Code  |  1992-02-26  |  3.0 KB  |  142 lines

  1. '
  2. '********************************************
  3. '
  4. '             3D HEX BUTTONS   
  5. '            ----------------- 
  6. '
  7. '         By Malcolm Lavery 1994 
  8. '
  9. '********************************************
  10. '
  11. '********************************************
  12. '           SET UP YE OLD SCREEN.
  13. '********************************************
  14. '
  15. Screen Open 0,640,256,16,Hires
  16. Palette $0,$FFF,,,$CCC,$EEE,$999,$333,$88F,$A00,$800,$A0,$80,$A,$8
  17. Curs Off : Cls 0 : Flash Off 
  18. Limit Mouse 0,0 To 640,500
  19. '
  20. '********************************************
  21. ' RESERVE SOME MEMORY FOR THE BUTTONS ZONES  
  22. ' ALTER TO HOW MANY BUTTONS YOU NEED.
  23. '********************************************
  24. '
  25. Reserve Zone 10
  26. '
  27. '********************************************
  28. '         CALL 3D DISPLAY PROCEDURE.     
  29. '********************************************
  30. '
  31. _3D_DISPLAY[0,0,639,255,0,6]
  32. '
  33. '********************************************
  34. '      CALL BUTTON DRAW/SETUP PROCEDURE.   
  35. '
  36. '  _3D_HEX_BUTTON[NUMBER,X,Y,IN/OUT,COLOUR]
  37. '
  38. '********************************************
  39. '
  40. '********************************************
  41. 'DRAW/SETUP FOUR HEX BUTTONS ONTO THE SCREEN   
  42. '********************************************
  43. '
  44. _3D_HEX_BUTTON[1,200,50,0,6]
  45. _3D_HEX_BUTTON[2,264,66,0,6]
  46. _3D_HEX_BUTTON[3,136,66,0,6]
  47. _3D_HEX_BUTTON[4,200,83,0,6]
  48. '
  49. Do 
  50.    '
  51.    '********************************************
  52.    'CHECK FOR MOUSE POINTER BEING CLICKED ONTO
  53.    'ONE OF THE FOUR BUTTONS.  
  54.    '********************************************
  55.    '
  56.    TEST=Mouse Zone
  57.    TESTTWO=Mouse Click
  58.    '
  59.    If TESTTWO=1 and TEST=1
  60.       _3D_HEX_BUTTON[1,200,50,1,8]
  61.       Bell 
  62.       Wait 5
  63.       _3D_HEX_BUTTON[1,200,50,0,6]
  64.    End If 
  65.    '
  66.    If TESTTWO=1 and TEST=2
  67.       _3D_HEX_BUTTON[2,264,66,1,8]
  68.       Bell 
  69.       Wait 5
  70.       _3D_HEX_BUTTON[2,264,66,0,6]
  71.    End If 
  72.    '
  73.    If TESTTWO=1 and TEST=3
  74.       _3D_HEX_BUTTON[3,136,66,1,8]
  75.       Bell 
  76.       Wait 5
  77.       _3D_HEX_BUTTON[3,136,66,0,6]
  78.    End If 
  79.    '
  80.    If TESTTWO=1 and TEST=4
  81.       _3D_HEX_BUTTON[4,200,83,1,8]
  82.       Bell 
  83.       Wait 5
  84.       _3D_HEX_BUTTON[4,200,83,0,6]
  85.    End If 
  86.    '
  87. Loop 
  88. '
  89. Procedure _3D_HEX_BUTTON[_ZONENUMBER,X,Y,IN_OUT,_FILL]
  90.    '
  91.    If IN_OUT=0
  92.       HILIGHT=5
  93.       SHADOW=7
  94.    End If 
  95.    '
  96.    If IN_OUT=1
  97.       HILIGHT=7
  98.       SHADOW=5
  99.    End If 
  100.    '
  101.    Ink HILIGHT
  102.    Polyline X+40,Y To X,Y To X-20,Y+15 To X,Y+30
  103.    '
  104.    Ink SHADOW
  105.    Polyline X,Y+30 To X+40,Y+30 To X+60,Y+15 To X+40,Y
  106.    '
  107.    Ink _FILL
  108.    Polygon X+39,Y+1 To X,Y+1 To X-18,Y+15 To X+1,Y+29 To X+39,Y+29 To X+58,Y+15 To X+39,Y
  109.    '
  110.    Set Zone _ZONENUMBER,X-20,Y To X+60,Y+30
  111.    '  
  112. End Proc
  113. Procedure _3D_DISPLAY[X,Y,WIDTH,HEIGHT,IN_OUT,_FILL]
  114.    '
  115.    '
  116.    '
  117.    If IN_OUT=0
  118.       HILIGHT=5
  119.       SHADOW=7
  120.    End If 
  121.    '
  122.    '
  123.    If IN_OUT=1
  124.       HILIGHT=7
  125.       SHADOW=5
  126.    End If 
  127.    '
  128.    '
  129.    Ink HILIGHT
  130.    Draw X,Y To X+WIDTH,Y
  131.    Draw X,Y To X,Y+HEIGHT
  132.    '
  133.    Ink SHADOW
  134.    Draw X+WIDTH,Y To X+WIDTH,Y+HEIGHT
  135.    Draw X+WIDTH,Y+HEIGHT To X,Y+HEIGHT
  136.    '
  137.    Ink _FILL
  138.    Bar X+1,Y+1 To X+WIDTH-1,Y+HEIGHT-1
  139.    '
  140.    '
  141.    '
  142. End Proc